1. Field of the Invention
The present invention generally relates to voice and data communication systems. More particularly, this invention relates to synchronous wireless communication systems.
2. Description of the Related Technology
T-carrier systems have become an essential part of modern telecommunications systems. A T-carrier system is found in every telephone company in North America. A T-carrier allows for transmission of one or more telephone calls or data connections by modem. The basic unit of signaling is DS0, followed by progressively higher speed signaling rates. First generation T-carrier systems, called T1 which carry Digital Signal Level 1 (DS1), employ a full duplex all-digital service. The digital stream is capable of carrying standard 64 kilobits per second (kbps) channels in which 24 channels are multiplexed to create an aggregate of 1.536 Mega bits per second (Mbps). Time division multiplexing (TDM) allows a channel to use one of 24 timeslots. More particularly, the 24 channels are time-division multiplexed into a frame to be carried along the data stream line. Typically, each frame contains one sample of 8 bits from each of the channels, and a framing bit. This structure results in a frame having 193 bits. In view of employing pulse code modulation (PCM) on each channel, there are 8000 frames per second. Hence, a frame is 125 microseconds long. Eight kbps of overhead bits are added (due to framing) to 1.536 Mbps, thereby yielding an aggregate of 1.544 Mbps.
A T1 system employs Alternate Mark Inversion (AMI) coding to reduce the required bandwidth of 1.5 MHz by a factor of two. The transmission is byte-synchronous whereby timing synchronization for each channel is derived from the pulses that appear within the samples (8 bits in each sample). This timing keeps everything in sequence. Although, a T1 system employs generically 24 channels of 64 kbps data plus 8 kbps of overhead (sometimes referred to as channelized service), the multiplexing equipment may be configured in other ways. For example, T1 may be used for a single channel of 1.536 Mbps, two high-speed data channels at 384 kbps each, and a video channel at 768 kbps. In short, a T1 system service does not have to be channelized into 24 timeslots. It can be split into any number of usable data streams.
T1-systems may multiplex T1 signals into a T2 (DS2) system, but with additional framing bits and 4 times the data rate. This results in an aggregate data rate of 6.312 Mbps. Similarly, a T3 digital link comprises a multiplexing of 7 T2 links (and additional framing bits), resulting in a data rate of 44.736 Mbps. The T3 system has greater demand in high capacity applications. The E carrier services are the European equivalents of the T-carrier.
The problem addressed by the present invention is the special case of transmitting data wirelessly between two systems working at the same nominal frequency. Moreover, the invention is intended for use in high speed data transmission requiring the avoidance of clocks with frequencies higher than the data bit rate.
A common synchronization technique used in the prior art is to synchronize received data to a local clock signal using a D-type flip-flop. This technique, however, produces errors whenever setup and hold time specifications for the flip-flop are violated. Another technique commonly used in the prior art is to use a first-in first-out (FIFO) register to provide the necessary elasticity required to properly synchronize the received data to the local clock signal. The use of a FIFO register, however, results in a certain ripple-through delay and initialization problems associated with such a register. Furthermore, some synchronization techniques are dependent on certain hardware characteristics. One such characteristic is a metastability problem which shows up whenever a flip-flop is clocked without a guaranteed setup and/ or hold time, which is exactly what happens when efforts are made to synchronize the data with a new clock.
Text books and papers abound on elastic store implementation. Elastic store read/write pointers can be implemented with separate binary up or down counters, separate up or down ring counters, or single binary up/down or single up/down ring counter. Elastic store data storage implementations include shift registers, addressable latches, and RAM.
Regardless of the implementation, the read and write subsystems are asynchronous to each other and need to be synchronized for some brief time for reliable data transfer. Some sort of arbitration scheme or handshake between read/write clocks, pointers, or data must take place in order to insure that the write data is not changing at the time it is being read (i.e. the metastable condition). Discussion of arbitration logic and its importance to reliable data transmission is neglected in the literature. The impact on Bit Error Rate when arbitration is ignored or improperly implemented is considerable. As an example, consider a 1 micosecond read/write data period and logic with a metastable window of 1 nanosecond. If the read and write are stochastically independent, the probability of reading a bit while it is changing is approximately equal to 1.times.10.sup.-9 /1.times.10.sup.-6 =1.times.10.sup.-3 ! In fact the read and write rates are not independent since they are ideally equal. This could result in long periods where the read and write clock drift together, thus producing nearly continuous metastability and catastrophic error rates.